home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-03-23 | 6.4 KB | 153 lines | [TEXT/MPS ] |
- MacTCP 1.0 Release Notes
- 3/28/89
-
- Changes:
-
- The following interfaces have been added or changed:
- TCPPB.h - TCPActiveOpenWithData has been removed users are advised to
- use TCPActiveOpen followed by TCPSend for the same functionality.
-
- Caveats
-
- The file MacTCP Prep is used to maintain information across installations of
- the MacTCP driver. For Beta developers of MacTCP products it is advised that
- you remove this file and the associated MacTCP drivers when updating to the
- new driver.
-
- User and developers should be aware that when running several third party
- packages that limit the INITS that can run at boot time, MacTCP should be
- allowed to run for the MacTCP Control Panel to work correctly.
-
- When using the dynamic configuration feature in the Control Panel the end
- points of the range (i.e., all zeros and all ones) are excluded since they are
- not allowed by the IP protocol.
-
- The use of the dynamic addressing mode on LocalTalk is not recommended since
- the KIP-based DDP to IP routers cannot support this option.
-
- The IP security option accross the Kinetics Fastpath does not work correctly.
-
- Use of link level packets larger than the MTU on LocalTalk is not advised since
- there are several problems with these packets on DDP-IP gateways. The packet
- maximum transmission size should be negotiated by the upper layer protocol in
- these cases.
-
- The domain name server (DNS) list is used in the following manner when making
- DNS queries. If a default name extension and server are identified in the
- Control Panel they are used for all nonqualified requests (e.g., if the name
- Homer is passed to the DNR and the default extension is pundit.edu the name
- Homer.pundit.edu will be used in the query, but if the name
- Homer.drama.pundit.edu is passed to the domain name resolver the extension will
- not be appended.) Name servers are chosen by the extension of the name passed
- into the domain name resolver. First, servers that match the full extension
- are found followed by servers that serve the ancestor of the full extension
- (e.g., the server that serves drama.pundit.edu would first be found followed by
- the server that serves pundit.edu for the name Homer.drama.pundit.edu). If no
- servers are found, the default server is used. If no default is set the domain
- name resolver will return noNameServer. It is advised that a default is always
- set. Once a list of servers that supports the domain needed to be queried is
- found, those servers are queried in the order of their "distance" from the
- querying host. First servers on the local net are queried followed by servers
- on other nets. When using the AddrToName query a default server must be chosen.
-
- The AddrToName call in AddressXLation.h will return noNameServer in addition
- to cacheFault.
-
- To "turn off" the default name server, select the last (and always empty)
- entry in the DNS list.
-
- Developers should be aware that there are several breakpoints in the MacTCP
- driver. These breakpoints should never be hit when the application is operating
- correctly. When one of these breakpoints arises it can be proceeded from but
- the text string that is printed should give some indication of the user
- (i.e., programmer) level error.
-
- When configuring a 512KE all three methods of acquiring its IP address may
- be used.
-
- Parsing of the HOSTS file has been limited to 7K of internal storage. Hosts
- files that create more than 7K of internal entries will be parsed until this
- memory usage has been reached.
-
- Because MacTCP is internally listening to RIP broadcasts, attempting to create
- a stream on local port 520 will return duplicateSocket error.
-
-
- A Note about Fragmentation and Reassembly
-
- IP uses a process called fragmentation and reassembly to allowing sending of
- IP packets that are larger than the maximum transmission unit (MTU) of a given
- network. Since the application developer selects the size of UDP packets,
- unlike TCP which negotiates a packet size, he must be aware of implementation
- limitations imposed on the size of these packets.
-
- MacTCP internally allocates a buffer memory to temporarily hold all incoming
- fragments awaiting reassembly, and all outgoing fragments awaiting network
- send. The amount of space allocated varies depending on whether 1, 2, or
- 4 Mbyte of memory is installed. The maximum size of the packet being
- reassembled or fragmented depends solely on the available free space in this
- buffer. Because this memory pool is shared across all users of MacTCP, the
- maximum size of UDPWrite allowed will vary from time to time depending on
- completing demands on this memory pool. Since the maximum packet size a
- given destination can reassemble is only guaranteed to be 576 bytes (including
- IP and UDP headers), it is possible to send a packet from MacTCP that cannot
- be reassembled by the destination.
-
- Unless a developer has a priori knowledge of the capabilities of the
- destination machine, the UDPWrite size should be limited to the value returned
- by the UDPMTU call for maximum interoperability.
-
- Within an Ethernet environment, it is recommended that users restrict their
- UDPWrites to less than or equal to 8,192 bytes. Packets of this size can
- usually be reassembled by the types of computers found in EThernet
- environments.
-
- Within an AppleTalk environment, it is recommended that users restrict
- their UDPwrites to less than or equal to 1458 bytes because of performance
- considerations in IP-DDP gateways.
-
-
- UDPRelease:
-
- Before UDPRelease is called, the user must make sure that all pending
- UDPWrite commands have completed. There is no way to abort a UDPWrite
- command in progress.
-
- Programmer's guide corrections:
-
-
- page 16, UDPWrite:
-
- Result codes:
- invalidLength the total amount of data described by the WDS was greater
- than 65,535 bytes.
-
- ipNoFragMemErr insufficient internal memory was available to fragment
- the packet.
-
- ipRouteErr unable to send the packet to an off-net destination
- because all gateways are down.
-
- page 18, UDPMTU:
-
- "...the value of 576 bytes..." should read "...the value of 548 bytes...".
-
- page 25, Asynchronous notification routine
-
- "...a routine must be registered..." should read "...a routine can be
- registered..."
-
- page 30, TCPCreate:
-
- "An ASR must be provided." should read "An ASR should be provided."
-
- "...connection terminated." should read "...connection terminated.
- If the routine is 0, the user is not notified of asynchronous events."
-
-
- page 46, TCPGlobalInfo:
-
- "These counters are not sticky; they will wrap..." should read "These
- counters will wrap...".
-
-